package com.skivingcloud.report.entity;

import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.Table;
import java.io.Serializable;
import java.time.LocalDateTime;

import io.swagger.v3.oas.annotations.media.Schema;

/**
 * 报表分享 实体类。
 *
 * @author skivingcloud
 * @since 2024-09-12
 */
@Schema(description = "报表分享")
@Table("report_share")
public class ReportShare implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @Schema(description = "")
    private String id;

    /**
     * 分享编码，系统生成，默认UUID
     */
    @Schema(description = "分享编码，系统生成，默认UUID")
    private String shareCode;

    /**
     * 分享有效期类型，DIC_NAME=SHARE_VAILD
     */
    @Schema(description = "分享有效期类型，DIC_NAME=SHARE_VAILD")
    private Integer shareValidType;

    /**
     * 分享有效期
     */
    @Schema(description = "分享有效期")
    private LocalDateTime shareValidTime;

    /**
     * 分享token
     */
    @Schema(description = "分享token")
    private String shareToken;

    /**
     * 分享url
     */
    @Schema(description = "分享url")
    private String shareUrl;

    /**
     * 分享码
     */
    @Schema(description = "分享码")
    private String sharePassword;

    /**
     * 报表编码
     */
    @Schema(description = "报表编码")
    private String reportCode;

    /**
     * 0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG
     */
    @Schema(description = "0--已禁用 1--已启用  DIC_NAME=ENABLE_FLAG")
    private String enableFlag;

    /**
     * 0--未删除 1--已删除 DIC_NAME=DELETE_FLAG
     */
    @Schema(description = "0--未删除 1--已删除 DIC_NAME=DELETE_FLAG")
    private String deleteFlag;

    /**
     * 创建人
     */
    @Schema(description = "创建人")
    private String createBy;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    /**
     * 更新人
     */
    @Schema(description = "更新人")
    private String updateBy;

    /**
     * 更新时间
     */
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    @Schema(description = "")
    private Integer version;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getShareCode() {
        return shareCode;
    }

    public void setShareCode(String shareCode) {
        this.shareCode = shareCode;
    }

    public Integer getShareValidType() {
        return shareValidType;
    }

    public void setShareValidType(Integer shareValidType) {
        this.shareValidType = shareValidType;
    }

    public LocalDateTime getShareValidTime() {
        return shareValidTime;
    }

    public void setShareValidTime(LocalDateTime shareValidTime) {
        this.shareValidTime = shareValidTime;
    }

    public String getShareToken() {
        return shareToken;
    }

    public void setShareToken(String shareToken) {
        this.shareToken = shareToken;
    }

    public String getShareUrl() {
        return shareUrl;
    }

    public void setShareUrl(String shareUrl) {
        this.shareUrl = shareUrl;
    }

    public String getSharePassword() {
        return sharePassword;
    }

    public void setSharePassword(String sharePassword) {
        this.sharePassword = sharePassword;
    }

    public String getReportCode() {
        return reportCode;
    }

    public void setReportCode(String reportCode) {
        this.reportCode = reportCode;
    }

    public String getEnableFlag() {
        return enableFlag;
    }

    public void setEnableFlag(String enableFlag) {
        this.enableFlag = enableFlag;
    }

    public String getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(String deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    public String getCreateBy() {
        return createBy;
    }

    public void setCreateBy(String createBy) {
        this.createBy = createBy;
    }

    public LocalDateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(LocalDateTime createTime) {
        this.createTime = createTime;
    }

    public String getUpdateBy() {
        return updateBy;
    }

    public void setUpdateBy(String updateBy) {
        this.updateBy = updateBy;
    }

    public LocalDateTime getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(LocalDateTime updateTime) {
        this.updateTime = updateTime;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

}
